<template>
  <div>
    <van-search
      v-model.trim="searchText"
      show-action
      label="商品"
      background="#f66"
      placeholder="请输入搜索关键词"
      @search="onSearch"
    >
      <template #action>
        <div @click="onSearch">搜索</div>
      </template>
    </van-search>
    <!-- 搜素记录 -->
    <h3>搜索记录</h3>
    <div class="histories">
      <div class="his" v-for='his in searchHis' :key="his">{{his}}</div>
    </div>
    <!-- /搜素记录 -->
  </div>
</template>

<script>
/* 
缓存存取
存取 数组 （缓存只能存字符串  存JSON.stringify()  取 JSON.parse）
取：考虑 第一次取 (三目 判断 是不是 第一次（没有值），如果是 [])
存： 先取 parse变成数组 变量保存，操作变量，再将变量存回去
历史记录
  searchHis
*/
export default {
  data () {
    return {
      searchText: '',
      searchHis: localStorage.getItem('searchHis') ? JSON.parse(localStorage.getItem('searchHis')) : []
    }
  },
  methods: {
    onSearch () {
      // 历史记录处理
      let his = localStorage.getItem('searchHis') ? JSON.parse(localStorage.getItem('searchHis')) : []
      if (this.searchText !== '') {
        // 搜索
        // 历史记录
        /* let index = his.indexOf(this.searchText)
        if (index !== -1) {
          his.splice(index, 1)
        } */
        his.unshift(this.searchText)
        // 快速数组去重
        his = [...new Set(his)]
        // 长度限制 只允许 5条
        if (his.length > 5) {
          his.length = 5
        }
        localStorage.setItem('searchHis', JSON.stringify(his))
        // 进入搜索结果页
        this.$router.push({
          path: '/searchResult',
          query: {
            word: this.searchText
          }
        })
      }
    }
  }
}
</script>

<style lang="scss" scoped>
.histories{
  display: flex;
  flex-wrap: wrap;
  justify-content: flex-start;
  .his{
    line-height: 30px;
    padding:0 10px;
    background: #f1f1f1;
    color:#666;
    font-size:12px;
    margin-left:15px;
    border-radius: 15px;

  }
}
</style>
